home *** CD-ROM | disk | FTP | other *** search
/ 10 jaar 1990-2000 / 10 JAAR HVB.bin / data / 01-5 / BASICINV.VB2 < prev    next >
Encoding:
Text File  |  1991-01-30  |  4.5 KB  |  86 lines

  1. 10 COLOR 15,0 : CLS : KEY OFF
  2. 20 LOCATE 1,1,0 : PRINT "Voorbeeld 1 voor het gebruik van subroutine BASICINV.SUB in een BASIC-programma";
  3. 30 COLOR 7,0
  4. 40 GETAL1$="   0" : GETAL2$="   0" : GETAL3$="   0"
  5. 50 LOCATE 5,30,0 : PRINT "Eerste getal";
  6. 60 LOCATE 7,30,0 : PRINT "Tweede getal";
  7. 70 LOCATE 9,30,0 : PRINT "Derde getal ";
  8. 80 COLOR 0,4
  9. 90 LOCATE 5,43,0 : PRINT GETAL1$;
  10. 100 LOCATE 7,43,0 : PRINT GETAL2$;
  11. 110 LOCATE 9,43,0 : PRINT GETAL3$;
  12. 120 COLOR 7,0 : LOCATE 14,21,0 : PRINT "De som van deze drie getallen is:";
  13. 130 COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$);
  14. 140 COLOR 7,0 : LOCATE 23,19,0 : PRINT "Programma afbreken door 9999 in te voeren!";
  15. 150 WHILE 0=0
  16. 160   RIJ%=5 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL1$ : KLEUR1%=0 : KLEUR2%=4
  17. 170   GOSUB 60000
  18. 180   GETAL1$ = MID$(STR$(INT(VAL(TEKST$))),2,4)
  19. 190   IF LEN(GETAL1$)<4 THEN GETAL1$=SPACE$(4-LEN(GETAL1$))+GETAL1$
  20. 200   COLOR 0,4 : LOCATE 5,43,0 : PRINT GETAL1$;
  21. 210   COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$);
  22. 220   IF VAL(GETAL1$) = 9999 THEN END
  23. 230   RIJ%=7 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL2$ : KLEUR1%=0 : KLEUR2%=4
  24. 240   GOSUB 60000
  25. 250   GETAL2$ = MID$(STR$(INT(VAL(TEKST$))),2,4)
  26. 260   IF LEN(GETAL2$)<4 THEN GETAL2$=SPACE$(4-LEN(GETAL2$))+GETAL2$
  27. 270   COLOR 0,4 : LOCATE 7,43,0 : PRINT GETAL2$;
  28. 280   COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$);
  29. 290   IF VAL(GETAL2$) = 9999 THEN END
  30. 300   RIJ%=9 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL3$ : KLEUR1%=0 : KLEUR2%=4
  31. 310   GOSUB 60000
  32. 320   GETAL3$ = MID$(STR$(INT(VAL(TEKST$))),2,4)
  33. 330   IF LEN(GETAL3$)<4 THEN GETAL3$=SPACE$(4-LEN(GETAL3$))+GETAL3$
  34. 340   COLOR 0,4 : LOCATE 9,43,0 : PRINT GETAL3$;
  35. 350   COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$);
  36. 360   IF VAL(GETAL3$) = 9999 THEN END
  37. 370 WEND
  38. 60000 'Subroutine Invoer
  39. 60001 'Variabelen: Rij%    : Rij invoerveld               (Default  1)
  40. 60002 '            Kolom%  : Kolom 1e positie invoerveld  (Default  1)
  41. 60003 '            Lengte% : Lengte invoerveld            (Default 10)
  42. 60004 '            Tekst$  : Invoer/uitvoer invoerveld    (Default spaties)
  43. 60005 '            Kleur1% : Kleur letters invoerveld     (Default  0)
  44. 60006 '            Kleur2% : Kleur achtergrond invoerveld (Default  7)
  45. 60007 'Intern gebruikte variabelen: Insert%, Cursor%, EindeInvoer%, Toets%, Veranderd%
  46. 60010 IF RIJ%<1 OR RIJ%>24 THEN RIJ%=1
  47. 60020 IF KOLOM%<1 OR KOLOM%>80 THEN KOLOM%=1
  48. 60030 IF LENGTE%<1 OR LENGTE%>80 THEN LENGTE%=10
  49. 60040 IF KLEUR1%=0 AND KLEUR2%=0 THEN KLEUR2%=7
  50. 60050 INSERT% = 0
  51. 60060 WHILE LEN(TEKST$) < LENGTE% : TEKST$ = TEKST$ + " " : WEND
  52. 60070 CURSOR% = 1
  53. 60080 COLOR KLEUR1%,KLEUR2%
  54. 60090 LOCATE RIJ%,KOLOM%,0 : PRINT TEKST$;
  55. 60100 LOCATE RIJ%,KOLOM%+CURSOR%-1,1
  56. 60110 EINDEINVOER% = 0
  57. 60120 WHILE EINDEINVOER% = 0
  58. 60130   VERANDERD% = 0
  59. 60140   TOETS$="" : WHILE TOETS$="" : TOETS$=INKEY$ : WEND : IF LEN(TOETS$)=1 THEN WAARDE%=ASC(TOETS$) ELSE WAARDE%=-ASC(RIGHT$(TOETS$,1))
  60. 60150   IF WAARDE%=13 THEN EINDEINVOER%=1 'Cr
  61. 60160   IF WAARDE%=27 THEN TEKST$=" " : CURSOR%=1 : VERANDERD%=1
  62. 60170   IF WAARDE%=-82 THEN IF INSERT%=0 THEN INSERT%=1 ELSE INSERT%=0 'Ins
  63. 60180   IF WAARDE%=-71 THEN CURSOR%=1 'Home
  64. 60190   IF WAARDE%=-79 THEN CURSOR%=LENGTE% : WHILE CURSOR%>0 AND MID$(TEKST$,CURSOR%,1)=" " : CURSOR%=CURSOR%-1 : WEND : IF CURSOR%<LENGTE% THEN CURSOR%=CURSOR%+1 'end
  65. 60200   IF WAARDE%=-75 THEN IF CURSOR%>1 THEN CURSOR%=CURSOR%-1 'Left
  66. 60210   IF WAARDE%=-77 THEN IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1 'Right
  67. 60220   IF WAARDE%=-83 THEN TEKST$ = LEFT$(TEKST$,CURSOR%-1) + MID$(TEKST$,CURSOR%+1) : VERANDERD%=1 'Del
  68. 60230   IF WAARDE%=8 THEN IF CURSOR% > 1 THEN TEKST$ = LEFT$(TEKST$,CURSOR%-2) + MID$(TEKST$,CURSOR%) : CURSOR%=CURSOR%-1 : VERANDERD%=1 'Backspace
  69. 60240   IF WAARDE%<32 THEN 60340
  70. 60250     IF INSERT%=0 THEN 60300
  71. 60260       TEKST$ = LEFT$(TEKST$,CURSOR%-1) + CHR$(WAARDE%) + MID$(TEKST$,CURSOR%)
  72. 60270       TEKST$ = LEFT$(TEKST$,LENGTE%)
  73. 60280       IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1
  74. 60290       GOTO 60330
  75. 60300     'Insert%=0
  76. 60310       MID$(TEKST$,CURSOR%,1) = CHR$(WAARDE%)
  77. 60320       IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1
  78. 60330     VERANDERD%=1
  79. 60340   IF VERANDERD%=1 THEN WHILE LEN(TEKST$) < LENGTE% : TEKST$ = TEKST$ + " " : WEND : LOCATE RIJ%,KOLOM%,0 : PRINT TEKST$;
  80. 60350   LOCATE RIJ%,KOLOM%+CURSOR%-1,1
  81. 60360 WEND
  82. 60370 WHILE LEN(TEKST$) < LENGTE%
  83. 60380   TEKST$ = TEKST$ + " "
  84. 60390 WEND
  85. 60399 RETURN
  86.